## Валидация

### Ссылки

* [Методы работы с контекстом](https://javalin.io/documentation#context)
* [Подключение стилей Bootstrap](https://getbootstrap.com/docs/5.1/getting-started/introduction/#css)
* Тег [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea), который создает в форме многострочное текстовое поле

### src/main/java/exercise/App.java

Реализуйте создание статьи, в которое входит:

* GET-обработчик */articles/build*, который отображает форму
* POST-обработчик */articles*, который создает курс

Сделайте так, чтобы при создании новой статьи сайт валидировал данные от пользователей по следующим правилам:

* Название статьи должно быть не короче 2 символов
* Содержимое статьи должно быть не короче 10 символов
* У статьи должно быть уникальное название

Если данные формы валидны, сайт должен сохранять статью и выполнять редирект на страницу со списком статей */articles*.

Если данные не валидны, сайт должен выводить форму с заполненными полями и сообщениями об ошибках:

* *Название не должно быть короче двух символов*
* *Статья должна быть не короче 10 символов*
* *Статья с таким названием уже существует*

### src/main/java/exercise/dto/articles/BuildArticlePage.java

Реализуйте дата-класс для передачи данных статьи в шаблон.

### src/main/jte/articles/build.jte

Реализуйте шаблон для формы создания новой статьи. Поля формы должны иметь имя *title* для названия статьи и *content* для содержимого

### Подсказки

* Для работы с данными используйте методы класса `ArticleRepository`
* Если хотите сделать красивый вывод в шаблонах, используйте классы Bootstrap
* При ошибках валидации нужно возвращать код 422
* Изучите методы контекста и найдите нужный для этого метод
* Текст статьи может занимать более одной строки, поэтому мы советуем создать многострочное текстовое поле с помощью тега `<textarea>`
